home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / COMMS / IRCSERVE.ZIP / !IRServer / !Help < prev    next >
Text File  |  1996-10-18  |  10KB  |  267 lines

  1.                               IRServer - an IRC Server
  2.                               ========================
  3. Version 1.09 (12 Oc 1996)
  4.  
  5. Introduction
  6. ------------
  7. This is a very simple IRC Server which I have written solely for local use
  8. whilst developing the somewhat enhanced version of the IRClient scripts.
  9. It provides simple support for the majority of RFC1459 (included) with some
  10. notable exceptions.
  11.  
  12.  
  13. Usage
  14. -----
  15. Run the server. The actual application will do nothing but sit there
  16. until you connect to it on port 6667.
  17.  
  18.  
  19. Supported
  20. ---------
  21. The following are supported :
  22.   USER registration
  23.   NICK changing
  24.   AWAY setting
  25.   QUITing
  26.   JOINing channels
  27.   PARTing channels
  28.   MOTD (message of the day)
  29.   LUSERS (local users)
  30.   LIST of channels
  31.   NOTICEs
  32.   ISON checking
  33.   MODE changing/viewing :
  34.     Channels : opsitnm
  35.     Users : iosw
  36.   OPER command (password defined in Options file)
  37.   KICK users off channels
  38.   ADMIN information
  39.   INFO on server
  40.   VERSION of server
  41.   TIME at the server
  42.   SQUIT locally only (param is seconds delay, NOT server name)
  43.   TOPIC changing/viewing on channels
  44.   PRIVMSGs (normal chatting, inc on channels)
  45.   SUMMON local users (pops up a window asking you to accept/deny summoning)
  46.   WHOIS a user
  47.   WHOWAS a user who has left
  48.   PING will be given after a period, and will respond with PONG if received
  49.   PONG is ignored, except to reset timer (correctly)
  50.   KILL a nickname
  51.   Host name lookup is performed (this is slow over dialup)
  52.  
  53.  
  54. Unsupported
  55. -----------
  56.   MODE changing/viewing :
  57.     Channels:
  58.       l unsupported
  59.       k unsupported
  60.       b unsupported
  61.       v unsupported
  62.      others have no effect, except o
  63.     Users:
  64.       i has no effect
  65.       w has no effect
  66.   Local channels (& channels)
  67.   WHOIS only deals with a single user (no wildcards)
  68.   INVITE onto channels
  69.   LIST particular channels and/or server
  70.   STATS on server config file - would be pretty pointless…
  71.   SERVER connections
  72.   LINKS to the server - would be pretty pointless…
  73.   CONNECT to other servers - would be pretty pointless…
  74.   TRACE routings to other servers
  75.   ERROR between servers (!)
  76.   Multiple recipients/nicks/channels at any point
  77.   WHO in any form
  78.   REHASH the server config file - no such thing !
  79.   RESTART the server - why bother...
  80.   USERHOST checking
  81.   USERS checking
  82.   WALLOPS - not usually enabled anyhow
  83.   No ident is performed.
  84.  
  85.   
  86. How it works
  87. ------------
  88. I've used the JFShared library for the simple wimp stuff and some handling.
  89. However, the majority of the work is done by the (now released) SocketLib.
  90. This allows my to put together socket applications in much the same amount of
  91. time it takes for a desktop application. I can probably get a raw socket
  92. connection working in about 20-30 minutes now from within a desktop program.
  93. That is the thing that makes JFShared worthwhile at my end and the fact that
  94. you only need one copy of it makes it worthwhile at your end.
  95.  
  96.  
  97. Bugs
  98. ----
  99. There ARE bugs in this server. Do NOT expect it work exactly as a 'real' IRC
  100. server. The main bug I've found is that it is entirely possible to overrun
  101. the space allocated for socket buffers using a dial-up connection. Why this
  102. should be is something I am looking into but have yet to fix. It usually dies
  103. with Not a heap block in HeapLib and the only way to exit is by using
  104. Ctrl-Shift-Q whilst clicking on a button (a 'feature' of JFShared).
  105.  
  106. One thing you should watch for is the generation of strings that are too
  107. long. This is vrey easy to do in normal usage, and as soon as an error occurs
  108. in processing one users input it will from then on ignore that user. I found
  109. this by trying /ctcp gerph version with the latest copy of Magrathea.
  110.  
  111.  
  112. Files
  113. -----
  114. The files within the IRServer directory contain certain useful information
  115. which you may wish to change if you are really bothered :
  116.   Admin  : The administrative information
  117.            You should only change the second line onwards.
  118.            Loc1: The physical location of the server
  119.            Loc2: More about the location or info
  120.            Email: An email contact for the person running the server
  121.   Motd   : The message of the day which is dumped when you connect
  122.            Usually I copy shortmotd to motd whilst I'm debugging, but
  123.            for real usage you /must/ really use the longmotd message
  124.            or something similar.
  125.   RFC1459: The RFC detailing the IRC specification
  126.   Log    : The log of major events occuring in the server itself
  127.            This can be enabled with the Debug option, and from the Options
  128.            file.
  129.   Options: Your user options - you should change this to suit your setup.
  130.  
  131.  
  132. Desktop appearance of IRC
  133. -------------------------
  134. Currently there is no 'real' IRC on the desktop. To use IRC from the desktop
  135. you might as well use IRClient as it is MUCH better than anything I could
  136. ever hope to write. Plus with my nice new(ish) scripts you can do all manner
  137. of wierd and wonderfull things (well some stuff anyhow).
  138.  
  139. The only interface I have currently available is the user list. If you click
  140. on the iconbar icon a window will appear listing all the users and the
  141. channels they are on. This will be updated and resized in real time as the
  142. users do 'things'. The @ symbol preceeds any user who is an IRC operator, and
  143. any channels of which the user is an operator.
  144.  
  145. You can disable the IRC Server temporarily (if for example you want to FTP
  146. something and don't want a large load (!) ) by clicking the Suspend menu
  147. option. On re-enabling ALL the waiting commands from clients will be dealt
  148. with. This may result in delay whilst the server processes these and chucks
  149. the responses back out again.
  150.  
  151.  
  152. Multiplexing
  153. ------------
  154. This client does not multiplex. There are good reasons for this. One of them
  155. is the fact that it's awkward. Due to the time limiting (use of PING and
  156. PONG) I have also disabled the MOTD multiplexing which now slows things down
  157. quite a bit really. Hopefully I'll think up a way around this.
  158.  
  159.  
  160. Configuration
  161. -------------
  162. Configuration of IRClient is by means of Config+, an application I've been
  163. working on for quite some time now. This allows you to have a consistant
  164. interface to configuration routines and to not include the code in the actual
  165. application, thus cutting down overheads on what it usually a once only job.
  166. If you haven't got Config+ you'll need to download it from my web site or
  167. Arcade.
  168.  
  169.  
  170. <BasicLibrary$File>
  171. -------------------
  172. This application requires Justin Fletcher's JFShared library to function.
  173. This can be obtained from Arcade and possibly other bulletin boards. I have
  174. seen QuickHelp on Digital Databank, so it is possible that JFShared exists
  175. there also. JFShared is also currently being carried by Hensa and can be
  176. obtained from Justin's website.
  177.  
  178.  
  179. Compatibility
  180. -------------
  181. This application has been tested on the author's A5000, but due to the lack
  182. of friends with Acorns has not been tested on other systems. Therefore, it
  183. ought to work on any RO3.1 machine, and with a RO2 machine if it is
  184. recognised in JFShared and uses no specific RO3 features. I've used the Acorn
  185. Internet stuff to get it running using local loopback. 
  186.  
  187.  
  188. Disclaimer
  189. ----------
  190. The author accepts no responsibility for any problems which this application
  191. may cause or loss of data resulting in its use. This application is Public
  192. Domain. This means that it may be distributed, so long as no charge other
  193. than copying costs are charged for it.
  194.  
  195.  
  196. Contact
  197. -------
  198. Any comments, queries, donations or bug reports can be sent to Justin
  199. Fletcher at :
  200.  
  201. E-Mail : Gerph@essex.ac.uk
  202. URL    : http://prompt.essex.ac.uk/users/gerph
  203. IRC    : On #Acorn as Gerph
  204. Finger : finger jrflet@postman.essex.ac.uk
  205. Tel    : (01842) 813979 (Home)
  206.  
  207. Snail Mail :
  208.     Justin Fletcher
  209.     “Galadriel”
  210.     17b Cromwell Road,
  211.     Weeting,
  212.     Brandon,
  213.     Suffolk.
  214.     IP27 0QT
  215.  
  216. History
  217. -------
  218. Version 1.01 : 17 Jul 1996
  219.                First release to Alex Howarth.
  220.                No support for AWAY or op priviledges
  221.  
  222. Version 1.02 : 05 Aug 1996
  223.                Minor bug fixes and op privs added
  224.                AWAY added.
  225.                SUMMON added.
  226.                TIME added.
  227.  
  228. Version 1.03 : 06 Aug 1996
  229.                Cosmetic changes :
  230.                  Now able to disable server from menu option
  231.                  List of current users added, and updated in real time
  232.                Massive changes to the !Help file to document what I've done.
  233.  
  234. Version 1.04 : 09 Aug 1996
  235.                Status window added
  236.                Checking for closed connectioned (finally !)
  237.                Options file added for added customisation (but not much :-) )
  238.                Moved all sockets code into JFShared where it was intended to
  239.                go after it was 'finished'.
  240.                Tested over serial linked Arcs
  241.                Will now search for port over the next five until it finds one
  242.                to use.
  243.                WHOIS and WHOWAS added
  244.  
  245. Version 1.05 : 13 Aug 1996
  246.                PING and PONG added
  247.                KILL added
  248.                Time-outs for users (with PING and PONG and using connection
  249.                closed) added
  250.                Logging made more sensible
  251.                Many bug fixes to SocketLib should mean that IRServer is
  252.                now quite stable.
  253.  
  254. Version 1.06 : 20 Aug 1996
  255.                Configuration via Config+ added (come on download it now !)
  256.  
  257. Version 1.07 : 10 Sep 1996
  258.                The NICK command was giving complete rubbish (channel names)
  259.                now fixed, but other commands may suffer :-(
  260.  
  261. Version 1.08 : 27 Sep 1996
  262.                Will require InetServices if using SocketLib v1.03 (JFShared
  263.                v2.35)
  264.  
  265. Version 1.09 : 12 Oct 1996
  266.                Requires SysLog by Jon Ribbens
  267.